package uy.com.tsi2G7.superbet.util;

import java.net.InetAddress;
import java.net.UnknownHostException;

import org.apache.commons.lang.StringUtils;
import org.jasypt.util.text.BasicTextEncryptor;
import org.jasypt.util.text.StrongTextEncryptor;

public class Utils {
	private static String clave = "grupo7.tsi2";
	
	public static String encriptar(String cadena) {
	     BasicTextEncryptor encriptador = new BasicTextEncryptor();
	     encriptador.setPassword(clave);
	     String cadenaEncriptada = encriptador.encrypt(cadena);
	     if(cadenaEncriptada.indexOf('+')>=0)
	    	 cadenaEncriptada=StringUtils.replace(cadenaEncriptada, "+", "=mas=");
	     return cadenaEncriptada;
	}
	 
	public static String desencriptar(String cadena) {
		if(cadena.indexOf("=mas=")>=0)
			cadena=StringUtils.replace(cadena,"=mas=", "+");
		 BasicTextEncryptor desencriptador = new BasicTextEncryptor();
	     desencriptador.setPassword(clave);
	     String cadenaDesencriptada = desencriptador.decrypt(cadena);
	     return cadenaDesencriptada;
	}
	
	public String getIp() throws UnknownHostException{
		InetAddress address = InetAddress.getLocalHost();
		// Cogemos la IP
		byte[] bIPAddress = address.getAddress();
		// IP en formato String
		String sIPAddress = "";
		for (int x=0; x<bIPAddress.length; x++) {
			if (x > 0) {
				// A todos los numeros les anteponemos
				// un punto menos al primero
				sIPAddress += ".";
			}
			// Jugamos con los bytes y cambiamos el bit del signo
			sIPAddress += bIPAddress[x] & 255;
		}
		return sIPAddress;
	}	

}
